package com.example.helloworld.service.Impl;

import com.dtflys.forest.Forest;
import com.example.helloworld.service.Cdz;
import com.example.helloworld.client.CdzClient;
import com.example.helloworld.model.res.allOfCdzListVo;
import com.example.helloworld.model.res.dataVo;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

@Component
public class CdzImpl implements Cdz {

    @Override
    public Object getAllCdz(String chargingGroupId,String expectedGoal) {
        CdzClient cdzClient = Forest.client(CdzClient.class);
          // 筛选出期待的目标值
        allOfCdzListVo allOfCdzList = cdzClient.getAllChargingData(chargingGroupId);
        // 当code不为0时抛出错误
        if (allOfCdzList.getCode() != 0) {
            throw new RuntimeException("获取充电桩列表失败");
        }
        // 获取充电桩列表
        dataVo data =  allOfCdzList.getData();

        return data.getChargingList().stream().
                filter(item -> item.getName().contains(expectedGoal)).collect(Collectors.toList());
    }

    @Override
    public Object getCdzNameList() {
        List<String> cdzNameList = new ArrayList<>();
        cdzNameList.add("竹3");
        cdzNameList.add("枫苑");
        cdzNameList.add("一粟堂");
        cdzNameList.add("行政楼");
        cdzNameList.add("桔4");
        cdzNameList.add("栎2");
        cdzNameList.add("七品居");
        cdzNameList.add("九华厅");
        cdzNameList.add("竹2");
        cdzNameList.add("博士公寓");
        return cdzNameList;
    }
}
